package com.he.service;

import com.he.domain.Result;
import com.he.domain.dto.LoginDTO;
import com.he.domain.dto.RegisterDTO;
import com.he.entity.UserDTO;
import org.springframework.stereotype.Service;

/**
 * @author He
 * @version 1.0
 * @Date 2023/9/7 15:49
 * @Desc 登录业务接口
 */
@Service
public interface LoginService {

    /**
     * 登录
     * @param login 登录信息
     * @return 登录结果
     */
    Result<?> login(LoginDTO login);

    /**
     * 注册
     * @param register 注册信息
     */
    void register(RegisterDTO register);

    /**
     * 发送邮箱验证码
     * @param username 用户名
     */
    void sendCode(String username);

    /**
     * 退出登录
     */
    void logout();

    /**
     * 忘记密码
     * @param updateDTO 更新信息
     */
    void updatePassword(UserDTO updateDTO);
}
